Automatic API Usage Rule Extraction for Software Model Checking

نویسنده

  • Chang Liu
چکیده

The need to manually specify temporal properties of software systems is a major barrier to wider adoption of software model checking, because the specification of software temporal properties is a difficult, time-consuming, and error-prone process. To solve this problem, we propose to automatically extract temporal specifications from code. Our approach uses a model checker to check a set of API usage rule candidates against known good programs using that API, and identifies valid rules based on model checking results. These valid rules can be used to verify new programs through the same model checking process. We tested our approach by extracting API usage rules from C programs using BLAST. We successfully extracted OpenSSL API usage rules from three OpenSSL applications in product release and used them to verify an OpenSSL application in beta release.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

API Protocol Compliance in Object-Oriented Software

Modern software development is highly reliant on reusable APIs. APIs often define usage protocols that API clients must follow in order for code implementing the API to work correctly. Loosely speaking, API protocols define legal sequences of method calls on objects. In this work, protocols are defined based on typestates (Strom and Yemini, 1986; DeLine and Fähndrich, 2004b). Typestates leverag...

متن کامل

Automatic Creation of Environment Models via Training

Model checking suffers not only from the state-space explosion problem, but also from the environment modeling problem: how can one create an accurate enough model of the environment to enable precise yet efficient model checking? We present a novel approach to the automatic creation of environment models via training. The idea of training is to take several programs that use a common API and a...

متن کامل

A Bim Assisted Rule Based Approach for Checking of Green Building Design

ABSTRACT: Since the publication of green building standards from the last decade, the designer of green buildings have often encountered the challenges of limited time but considerable complexity in the process of evaluating their design according to the rules specified in the standards. Also, the design process is usually an iterative one, which includes rule-checking tasks that are tedious an...

متن کامل

A Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness

Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...

متن کامل

Automatic Generation of Hardware/Software Interface with Product-Specific Debugging Tools

Software programmers want to manage pure software, not hardware-software entanglements. Unfortunately, traditional development methodologies cannot clearly separate hardware and software in embedded system development process. We propose a Hardware/software INterface GEnerator ; we call it HINGE. After receiving device specifications including device usage rules for each device, HINGE automatic...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005